// http://localhost:3001
import axios from './request'
// 服务器地址
// export const host: string = `http://120.26.30.18:3001`
// 本地测试
export const host: string = `http://127.0.0.1:3001`

// 没有图片时，使用默认图片
import defaultUserImage from '@/static/imgs/images/morenuser.png'
// 格式化图片地址
export const imgUrl = (url: string) => {
  return url ? `${host}${url}` : defaultUserImage
}

// 格式化时间
export const formatDate = (date: string) => {
  const dateObj = new Date(date)
  return dateObj.toLocaleString()
}

// 处理图片的接口
export const uploadPhoto = (data = {}) => {
  return axios.post(`${host}/api/photo/upload`, data, {
    headers: { 'Content-Type': 'multipart/form-data' },
  })
}
// 删除图片的接口
export const removePhoto = (data = {}) => {
  return axios.post(`${host}/api/photo/delete`, data)
}

// 封装接口

// 注册接口
// 请求地址：http://localhost:3001/api/user/register
// 请求方式：POST
// 参数：account, password, username, imgUrl
// 响应数据格式: json格式
export const register = (data = {}) => {
  return axios.post(`${host}/api/user/register`, data)
}

// 用户修改 用户名、性别、头像、个性签名
// 请求地址：http://localhost:3001/api/user/modify  (用户自己修改)
// 请求方式：POST
// 参数：username, gender, imgUrl,tag, id
export const modifyUserInfo = (data = {}) => {
  return axios.post(`${host}/api/user/modify`, data)
}
// 用户自己修改密码
// 请求地址：http://localhost:3001/api/user/modifyPassword
// 请求方式：POST
// 参数：oldPassword, newPassword,id
export const modifyPassword = (data = {}) => {
  return axios.post(`${host}/api/user/modifyPassword`, data)
}

// 登录接口
// 参数：token
export const login = (data = {}) => {
  return axios.post(`${host}/api/user/login`, data)
}
// 登录状态接口
export const logined = (data = {}) => {
  return axios.post(`${host}/api/user/isLogined`, data)
}

// 获取轮播图列表接口
// 请求地址： http://localhost:3001/api/banner/list
// ● URL：/api/banner/list
// ● Method：GET
export const getBannerList = () => {
  return axios.get(`${host}/api/banner/list`)
}

// --------------------------------------------------------------------------------------

// 获取导航列表
// 请求地址： http://localhost:3001/api/cate/list
// ● URL：/api/cate/list
// ● Method：GET
export const getCateList = () => {
  return axios.get(`${host}/api/cate/list`)
}

// --------------------------------------------------------------------------------------

// 获取文章列表接口
// 请求地址：http://localhost:3001/api/article/items
// 参数：page_num, page_size
// ● URL：/api/article/items
// ● Method：POST
export const getArticleList = (data = {}) => {
  return axios.post(`${host}/api/article/items`, data)
}
// 获取所有文章
// 请求方式：POST
// 请求地址：http://localhost:3001/api/article/list
// 参数: 无
export const getAllArticle = () => {
  return axios.post(`${host}/api/article/list`)
}

// 查看文章详情
// 请求地址：http://localhost:3001/api/article/detail
// 参数：id
// ● URL：/api/article/detail
// ● Method：POST
export const getArticleDetail = (data = {}) => {
  return axios.post(`${host}/api/article/detail`, data)
}

// 搜索文章
// 请求地址：http://localhost:3001/api/article/search
// 参数：keyword
// ● URL：/api/article/search
// ● Method：POST

export const getSearchData = (data = {}) => {
  return axios.post(`${host}/api/article/search `, data)
}
// 发布文章评论
// 方式：POST
// 参数： user_id,article_id,comment, username, imgUrl
// 示例： http://localhost:3001/api/articleComment/publish
// 响应数据格式: json格式
export const publishArticleCom = (data = {}) => {
  return axios.post(`${host}/api/articleComment/publish`, data)
}

// 获取指定文章评论列表
// 方式：POST
// 参数： article_id
// 响应数据格式: json格式
// 示例： http://localhost:3001/api/articleComment/listByArticle
export const getListByArticle = (data = {}) => {
  return axios.post(`${host}/api/articleComment/listByArticle`, data)
}

// ---------------------------------------------

// 获取随笔列表
// 请求地址：http://localhost:3001/api/note/list
// 参数：无
export const getNoteList = (data = {}) => {
  return axios.post(`${host}/api/note/list`, data)
}

// ----------------------------------------------------------------------------------

// 发布随笔评论
// 方式：POST
// 参数： user_id,note_id,comment,username,imgUrl
// 响应数据格式: json格式
// 示例： http://localhost:3001/api/noteComment/publish
export const publishNoteCom = (data = {}) => {
  return axios.post(`${host}/api/noteComment/publish`, data)
}

// 获取指定随笔评论列表
// 方式：POST
// 参数： note_id
// 响应数据格式: json格式
// 示例： http://localhost:3001/api/noteComment/listByNote
export const getListByNote = (data = {}) => {
  return axios.post(`${host}/api/noteComment/listByNote`, data)
}

// 获取指定用户的随笔评论列表
// 方式：POST
// 参数： user_id
// 响应数据格式: json格式
// 示例： http://localhost:3001/api/noteComment/listByUser

export const getListByUser = (data = {}) => {
  return axios.post(`${host}/api/noteComment/listByUser`, data)
}

// 修改随笔评论
// 方式：POST
// 参数：comment,id
// 响应数据格式: json格式
// 示例： http://localhost:3001/api/noteComment/modify
export const modifyNoteComment = (data = {}) => {
  return axios.post(`${host}/api/noteComment/modify`, data)
}

// 删除随笔评论
// 方式：POST
// 参数： id
// 响应数据格式: json格式
// 示例： http://localhost:3001/api/noteComment/remove
export const removeNoteComment = (data = {}) => {
  return axios.post(`${host}/api/noteComment/remove`, data)
}

// ----------------------------------------------------------------------------------

// 发布祝福评论
// 方式：POST
// 参数： user_id,wish_text,username,imgUrl
// 响应数据格式: json格式
// http://localhost:3001/api/wish/publish
export const publishWish = (data = {}) => {
  return axios.post(`${host}/api/wish/publish`, data)
}

// 获取祝福列表
// 方式：POST
// 响应数据格式: json格式
// http://localhost:3001/api/wish/list
// 参数： page_num page_size
export const getWishList = (data = {}) => {
  return axios.post(`${host}/api/wish/list`, data)
}

// -------------------------------------------------------------------------------

// 获取留言列表
// 方式：POST
// 响应数据格式: json格式
// http://localhost:3001/api/wish/list
// 参数： page_num page_size
export const getMsgList = () => {
  return axios.post(`${host}/api/msg/list`)
}
// 发布留言
// 方式：POST
// 响应数据格式: json格式
// http://localhost:3001/api/wish/publish
// 参数： user_id msg_text username  imgUrl
export const publishMsg = (data = {}) => {
  return axios.post(`${host}/api/msg/publish`, data)
}

// -------------------------------------------------------------------------------

// 获取相册分页列表
// 请求方式：post
// 参数：page_num, page_size
// 请求地址：http://localhost:3001/api/picture/items
export const getPictureList = (data = {}) => {
  return axios.post(`${host}/api/picture/items`, data)
}

// 天气查询接口
// 请求方式 get
// 参数 location
// 请求地址 http://localhost:3001/api/out/weather?location=113.497574,23.58235

export const getWeather = (params = {}) => {
  return axios.get(`${host}/api/out/weather`, { params })
}

// 获取随机一言接口
// 请求方式 get
// 无参数
// 请求地址 http://localhost:3001/api/out/text
export const getRandomText = () => {
  return axios.get(`${host}/api/out/text`)
}

// 非流式AI对话接口
// 方式：POST
// 参数： text
// 响应数据格式: json格式
// 示例： http://localhost:3001/api/out/AiChat?text=你好
export const getAiChat = (data = {}) => {
  return axios.post(`${host}/api/out/AiChat`, data)
}

// 流式AI对话接口 (没有在此处封装)
// 方式：POST
// 参数： text
// 响应数据格式: json格式
// 示例： http://localhost:3001/api/out/AiChat2?text=你好
// 或者使用 Promise 形式的封装
// 流式AI对话接口
